package GOrden.mobile;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;

public class ActividadesActivity extends Activity {
	private List<Actividad> actividades = new ArrayList<Actividad>();
	private ProgressDialog progressDialog;
	
	private final Handler progressHandler = new Handler() {
		@SuppressWarnings("unchecked")
		public void handleMessage(Message msg) {
			if (msg.obj != null) {
				actividades = (List<Actividad>)msg.obj;
				setData(actividades);					
			}
			progressDialog.dismiss();
	    }
	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.list_actividades);
		
		ListView lv = (ListView) findViewById(R.id.lstActividad);
		
		lv.setOnItemClickListener(new OnItemClickListener() {

			public void onItemClick(AdapterView<?> av, View v, int position,
					long id) {

				Actividad actividad = actividades.get(position);
				Intent data = new Intent();
				data.putExtra("codigo", actividad.getCodigo());
				data.putExtra("descripcion", actividad.getDescripcion());
				setResult(RESULT_OK, data);
				finish();
			}
			
		});
		
		loadData();
	}
	
	private void loadData() {
    	progressDialog = ProgressDialog.show(
    			ActividadesActivity.this,
    			"", 
    			"Por favor espere mientras se cargan los datos...", 
    			true);
    	
    	new Thread(new Runnable(){
    		public void run() {
    			XmlParseActividades parser = new XmlParseActividades("http://siscos.fcr.com.co:8080/movilidad/XmlActividades"); 
                Message msg = progressHandler.obtainMessage();
                msg.obj = parser.parse();
    			progressHandler.sendMessage(msg);
    		}}).start();
    }
	
	private void setData(List<Actividad> data){
		 AdaptadorActividades adaptador =
	                new AdaptadorActividades(this,data);
		 
   	ListView lv = (ListView) findViewById(R.id.lstActividad);
   	lv.setAdapter(adaptador);
   }

	
}
